-
Notifications
You must be signed in to change notification settings - Fork 257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Merged by Bors] - feat: Add mul_inv
and inv_mul
versions of div_le_one_of_le
#10597
Conversation
Possibly I should add |
Yes, and iff versions assuming |
mul_inv_le_one_of_le
is an a * b⁻¹
div_le_one_of_le
mul_inv_le_one_of_le
is an a * b⁻¹
version of div_le_one_of_le
mul_inv_le_one_of_le
is an a * b⁻¹
version of div_le_one_of_le
mul_inv
and inv_mul
versions of div_le_one_of_le
Now that's better! |
@YaelDillies: Would you be up for a review and approval if it seems reasonable? |
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
maintainer merge
What’s the next step after “maintainer merge”? |
Nothing on your part. A maintainer will merge the PR or come up with a comment I hadn't thought of. |
Thanks! 🎉 |
) These are exactly `div_le_one_of_le` with `a / b` replaced by `a * b⁻¹` and `b⁻¹ * a`. They come up frequently because some tactics produce inverses as normal forms over division. The iff versions with `0 < b` already exist as `mul_inv_le_one_iff` and `inv_mul_le_one_iff`; the point of these is to have a weaker nonnegativity assumption on `b`.
Pull request successfully merged into master. Build succeeded: |
mul_inv
and inv_mul
versions of div_le_one_of_le
mul_inv
and inv_mul
versions of div_le_one_of_le
) These are exactly `div_le_one_of_le` with `a / b` replaced by `a * b⁻¹` and `b⁻¹ * a`. They come up frequently because some tactics produce inverses as normal forms over division. The iff versions with `0 < b` already exist as `mul_inv_le_one_iff` and `inv_mul_le_one_iff`; the point of these is to have a weaker nonnegativity assumption on `b`.
) These are exactly `div_le_one_of_le` with `a / b` replaced by `a * b⁻¹` and `b⁻¹ * a`. They come up frequently because some tactics produce inverses as normal forms over division. The iff versions with `0 < b` already exist as `mul_inv_le_one_iff` and `inv_mul_le_one_iff`; the point of these is to have a weaker nonnegativity assumption on `b`.
) These are exactly `div_le_one_of_le` with `a / b` replaced by `a * b⁻¹` and `b⁻¹ * a`. They come up frequently because some tactics produce inverses as normal forms over division. The iff versions with `0 < b` already exist as `mul_inv_le_one_iff` and `inv_mul_le_one_iff`; the point of these is to have a weaker nonnegativity assumption on `b`.
) These are exactly `div_le_one_of_le` with `a / b` replaced by `a * b⁻¹` and `b⁻¹ * a`. They come up frequently because some tactics produce inverses as normal forms over division. The iff versions with `0 < b` already exist as `mul_inv_le_one_iff` and `inv_mul_le_one_iff`; the point of these is to have a weaker nonnegativity assumption on `b`.
) These are exactly `div_le_one_of_le` with `a / b` replaced by `a * b⁻¹` and `b⁻¹ * a`. They come up frequently because some tactics produce inverses as normal forms over division. The iff versions with `0 < b` already exist as `mul_inv_le_one_iff` and `inv_mul_le_one_iff`; the point of these is to have a weaker nonnegativity assumption on `b`.
These are exactly
div_le_one_of_le
witha / b
replaced bya * b⁻¹
andb⁻¹ * a
.They come up frequently because some tactics produce inverses as normal forms over division. The iff versions with
0 < b
already exist asmul_inv_le_one_iff
andinv_mul_le_one_iff
; the point of these is to have a weaker nonnegativity assumption onb
.